package com.huiminpay.merchant.convert;

import com.huiminpay.merchant.api.dto.MerchantDTO;
import com.huiminpay.merchant.entity.Merchant;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.ArrayList;
import java.util.List;

@Mapper
public interface MerchantConvert {
    //实现对象转换的对象
    MerchantConvert INSTANCE = Mappers.getMapper(MerchantConvert.class);

    //dto转换为entity
    public Merchant dto2entity(MerchantDTO dto);

    //entity转换为dto
    public MerchantDTO entity2dto(Merchant merchant);

    //把实例类集合转换为dto的集合
    List<MerchantDTO> listEntity2ListDto(List<Merchant> list);

    //把实例类集合转换为dto的集合
    List<Merchant> listDto2ListEntity(List<MerchantDTO> list);


    //转换测试
    public static void main(String[] args) {
        //dto转entity
        MerchantDTO DTO = new MerchantDTO();
        DTO.setMobile("001");
        DTO.setUsername("测试1");
        Merchant entity = MerchantConvert.INSTANCE.dto2entity(DTO);
        System.out.println(entity.getMobile() + entity.getUsername());
        //list转dto
        List<Merchant> list_enetity = new ArrayList<>();
        list_enetity.add(entity);
        List<MerchantDTO> merchantDTOS = MerchantConvert.INSTANCE.listEntity2ListDto(list_enetity);
        System.out.println(merchantDTOS);


    }

}

